const path = require('path')
const processPath = process.cwd()
function resolve (dir) {
  return path.join(processPath, dir)
}

module.exports = {
  lintOnSave: undefined,
  runtimeCompiler: true,
  filenameHashing: false,
  pages: {
    demo: {
      entry: 'multiple-page/page-main/demo/main.js',
      template: 'public/index.html',
      filename: 'demo.html',
      title: '示例页面',
      // 提取出来的通用 chunk 和 vendor chunk。
      chunks: [ 'chunk-vendors', 'chunk-common', 'demo' ]
    },
    example: {
      entry: 'multiple-page/page-main/example/main.js',
      template: 'public/index.html',
      filename: 'example.html',
      title: '示例页面',
      // 提取出来的通用 chunk 和 vendor chunk。
      chunks: [ 'chunk-vendors', 'chunk-common', 'example' ]
    },
    index: {
      entry: 'multiple-page/page-main/document/main.js',
      template: 'public/index.html',
      filename: 'index.html',
      title: '文档页面',
      // 提取出来的通用 chunk 和 vendor chunk。
      chunks: [ 'chunk-vendors', 'chunk-common', 'index' ]
    }
  },
  devServer: {
    port: 8000,
    disableHostCheck: true,
    proxy: {
      '/api': {
        // target: 'http://10.130.36.240:7091',
        target: 'http://s.frogsing.com:8007',
        ws: false,
        // 将主机标头的原点更改为目标URL~
        changeOrigin: false
      }
    }
  },
  css: {
    loaderOptions: {
      // 给 sass-loader 传递选项
      sass: {
        // @ 是 src/assets 的别名
        // 所以这里假设你有 `@styles/variable` 这个文件
        prependData: '@import "src/theme/var.scss";'
      }
    }
  },
  chainWebpack: config => {
    // config.entry('app').clear().add('./example/main.js')
    config.resolve.alias
      .set('@example', resolve('./src/example'))
      .set('@src', resolve('./src/'))
      .set('@packages', resolve('./packages/'))
      .set('me-view', resolve('./'))

    config.module.rule('md')
      .test(/\.md/)
      .use('vue-loader')
      .loader('vue-loader')
      .end()
      .use('vue-markdown-loader')
      .loader('vue-markdown-loader/lib/markdown-compiler')
      .options(require('./markdown.config'))
  }
}
